080338f9c9572a7041e5d9d49f6e4392ec703117,platform/platform-impl/src/com/intellij/openapi/diff/impl/splitter/DividerPolygon.java,DividerPolygon,paint,#Graphics2D#number#,55

Before Change


      g.fill(new Polygon(new int[]{0, 0, width, width}, new int[]{myStart1, myEnd1, myEnd2, myStart2}, 4));
      g.setColor(DiffUtil.getFramingColor(myColor));
      UIUtil.drawLine(g, 0, myStart1, width, myStart2);
      UIUtil.drawLine(g, 0, myEnd1, width, myEnd2);
    }
    else {
      g.setColor(myColor);
      UIUtil.drawLine(g, 0, myStart1 + 1, width, myStart2 + 1);
      UIUtil.drawLine(g, 0, myStart1 + 2, width, myStart2 + 2);
      UIUtil.drawLine(g, 0, myEnd1 + 1, width, myEnd2 + 1);
      UIUtil.drawLine(g, 0, myEnd1, width, myEnd2);
    }

After Change



    if (!myApplied) {
      Shape upperCurve = makeCurve(width, myStart1, myStart2, true);
      Shape lowerCurve = makeCurve(width, myEnd1, myEnd2, false);

      Path2D path = new Path2D.Double();
      path.append(upperCurve, true);
      path.append(lowerCurve, true);
      g.setColor(myColor);
      g.fill(path);

      g.setColor(DiffUtil.getFramingColor(myColor));
      g.draw(upperCurve);
      g.draw(lowerCurve);
    }
    else {
      g.setColor(myColor);
      g.draw(makeCurve(width, myStart1 + 1, myStart2 + 1, true));
      g.draw(makeCurve(width, myStart1 + 2, myStart2 + 2, true));
      g.draw(makeCurve(width, myEnd1 + 1, myEnd2 + 1, false));
      g.draw(makeCurve(width, myEnd1 + 2, myEnd2 + 2, false));
    }